package cn.wolfcode.luowowo.service;

import cn.wolfcode.luowowo.domain.UserInfo;

import java.util.List;

public interface IUserInfoService {
    /**
     * 查询单个的方法
     * @param id
     * @return
     */
    UserInfo get(String  id);
    
    /**
     * 查询号码的唯一性
     * @param phone
     * @return  true:有值 被注册 false:没有值 没有被注册
     */
    boolean checkPhone(String phone);
    
    /**
     * 生成验证码 并且将其存入缓存中
     * @param phone 手机号
     * @param smsUrl    短信url
     * @param smsAppkey     短信的网关appkey
     * @param smsSignature  短信签名
     */
    void sendVerifyCode(String phone, String smsUrl, String smsAppkey, String smsSignature);
    
    /**
     * 注册用户
     * @param verifyCode    用户的验证码
     * @param phone         用户的手机号
     * @param nickname      用户的昵称
     * @param password      用户的密码
     * @param rpassword     用户的第二次密码
     */
    void setUserInfo(String verifyCode, String phone, String nickname, String password, String rpassword);
    
    /**
     * 判断用户的登录信息是否存在数据库中
     * @param username 用户的手机号
     * @param password  用户的密码
     * @return  返回对象
     */
    UserInfo getUserByUsernameAndPassword(String username, String password);
    
    /**
     * 用目的地的名称去查询用户的信息
     * @param name
     * @return
     */
    List<UserInfo> findByCity(String name);
    
    /**
     * 查询全部
     * @return
     */
    List<UserInfo> list();
    
   
}
